Android Java Gradle 移行ガイド
まとめ
最近 Android Studio を Flamingo にアップグレードした場合 リリースしており、既存の Android アプリを実行または構築している、 次のようなエラーが発生した可能性があります。
このエラーの端末出力は次のとおりです。 次のようなものです。
FAILURE: Build failed with an exception.
* Where:
Build file '…/example/android/build.gradle'
* What went wrong:
Could not compile build file '…/example/android/build.gradle'.
> startup failed:
General error during conversion: Unsupported class file major version 61
java.lang.IllegalArgumentException: Unsupported class file major version 61
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:189)
at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:170)
[…
…
… 209 more lines of Groovy and Gradle stack trace …
…
…]
at java.base/java.lang.Thread.run(Thread.java:833)
このエラーは、Android Studio Flamingo が原因で発生します。 バンドルされている Java SDK を 11 から 17 に更新します。 Flutter は、以下にバンドルされている Java のバージョンを使用します。 Android アプリを構築するための Android Studio。 Gradleのバージョン7.3より前走れない Java 17を使用する場合。
このエラーは、Gradle プロジェクトをアップグレードすることで修正できます。 互換性のあるバージョン (7.3 ~ 7.6.1 を含む) へのアップグレード 次のいずれかのアプローチを使用します。
解決策 #1: Android Studio を使用したガイド付き修正
Android Studio Flamingo で Gradle バージョンをアップグレードする 次のように:
ステップ1: Android Studio Flamingo で、android
フォルダ、
次のダイアログが表示されるはずです。
7.3 ~ 7.6.1 の Gradle リリースに更新します。
ステップ2: ガイド付きワークフローに従って Gradle を更新します。
解決策 #2: コマンドラインで手動で修正する
Flutter プロジェクトの先頭から次の操作を実行します。
ステップ1: プロジェクトの gradle ディレクトリに移動します。
cd android/gradle/wrapper
ステップ2: を編集しますgradle-wrapper.properties
ファイルに
変更distributionUrl
フィールドを優先する
Gradle バージョン (7.3 ~ 7.6.1 を含む):
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-all.zip
ノート
注意すべきいくつかの注意事項:
- 影響を受ける Android アプリごとにこの手順を繰り返します。
- この問題は次のような人に発生する可能性があります。しないでくださいJava と Android SDK をダウンロードする アンドロイドスタジオ。 Java SDK を手動でアップグレードした場合は、 バージョン 17 を使用しているが、Gradle をアップグレードしていない場合は、次のことができます。 もこの問題に遭遇します。修正方法は同じです: Gradle を 7.3 から 7.6.1 の間のリリースにアップグレードします。
- 開発マシンそうかもしれないもっと含む
Java SDK の 1 つのコピーよりも:
- Android Studio アプリには Java のバージョンが含まれています。 Flutter がデフォルトで使用するもの。
- Android Studio がインストールされていない場合は、
Flutter は、ユーザーが定義したバージョンに依存します。
シェルスクリプトの
JAVA_HOME
環境変数。 - もしも
JAVA_HOME
定義されていない、Flutter のようです 誰にとってもjava
パス内で実行可能。 一度問題 122609土地、flutter doctor
コマンドは、使用されている Java のバージョンを報告します。
- Gradle をリリースにアップグレードする場合新しい7.6.1 よりも、 (可能性は低いですが) 問題が発生する可能性があります Gradle への変更によって生じるもの。非推奨の Gradle クラス、またはへの変更 Android のファイル構造:PackageName から ApplicationId を分割する。 この問題が発生した場合は、Gradle のリリースにダウングレードしてください 7.3 ~ 7.6.1 の間 (両端の値を含む)。
- Flutter 3.10 にアップグレードしても、この問題は解決されません。